// ============================================================================
//
// LCP-net framework by Pierre CHATEL chatelp@gmail.com
// Distributed under GPLv3
// Copyright (C) THALES Land & Joint Systems, 2008, 2009. All rights reserved
//
// ============================================================================

/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package com.thalesgroup.preferenceFramework.models.LCPnet.util;

import com.thalesgroup.preferenceFramework.models.Arc;

import com.thalesgroup.preferenceFramework.models.LCPnet.*;

import com.thalesgroup.preferenceFramework.models.Namable;
import com.thalesgroup.preferenceFramework.models.Node;
import com.thalesgroup.preferenceFramework.models.NodeValue;
import com.thalesgroup.preferenceFramework.models.Outcome;
import com.thalesgroup.preferenceFramework.models.PreferenceNetwork;

import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notifier;

import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;

import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * The <b>Adapter Factory</b> for the model.
 * It provides an adapter <code>createXXX</code> method for each class of the model.
 * <!-- end-user-doc -->
 * @see com.thalesgroup.preferenceFramework.models.LCPnet.LCPnetPackage
 * @generated
 */
public class LCPnetAdapterFactory extends AdapterFactoryImpl {
	/**
	 * The cached model package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected static LCPnetPackage modelPackage;

	/**
	 * Creates an instance of the adapter factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public LCPnetAdapterFactory() {
		if (modelPackage == null) {
			modelPackage = LCPnetPackage.eINSTANCE;
		}
	}

	/**
	 * Returns whether this factory is applicable for the type of the object.
	 * <!-- begin-user-doc -->
	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
	 * <!-- end-user-doc -->
	 * @return whether this factory is applicable for the type of the object.
	 * @generated
	 */
	@Override
	public boolean isFactoryForType(Object object) {
		if (object == modelPackage) {
			return true;
		}
		if (object instanceof EObject) {
			return ((EObject)object).eClass().getEPackage() == modelPackage;
		}
		return false;
	}

	/**
	 * The switch that delegates to the <code>createXXX</code> methods.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected LCPnetSwitch<Adapter> modelSwitch =
		new LCPnetSwitch<Adapter>() {
			@Override
			public Adapter caseLCPnet(LCPnet object) {
				return createLCPnetAdapter();
			}
			@Override
			public Adapter caseLinguisticDomain(LinguisticDomain object) {
				return createLinguisticDomainAdapter();
			}
			@Override
			public Adapter caseLinguisticSubset(LinguisticSubset object) {
				return createLinguisticSubsetAdapter();
			}
			@Override
			public Adapter caseLNode(LNode object) {
				return createLNodeAdapter();
			}
			@Override
			public Adapter caseCLPT(CLPT object) {
				return createCLPTAdapter();
			}
			@Override
			public Adapter caseCLPTLine(CLPTLine object) {
				return createCLPTLineAdapter();
			}
			@Override
			public Adapter caseCNodeValue(CNodeValue object) {
				return createCNodeValueAdapter();
			}
			@Override
			public Adapter caseLNodeValue(LNodeValue object) {
				return createLNodeValueAdapter();
			}
			@Override
			public Adapter caseLNodeValueUtility(LNodeValueUtility object) {
				return createLNodeValueUtilityAdapter();
			}
			@Override
			public Adapter caseCoordinate(Coordinate object) {
				return createCoordinateAdapter();
			}
			@Override
			public Adapter caseCOutcome(COutcome object) {
				return createCOutcomeAdapter();
			}
			@Override
			public Adapter caseLTwoTuple(LTwoTuple object) {
				return createLTwoTupleAdapter();
			}
			@Override
			public Adapter caseIArc(IArc object) {
				return createIArcAdapter();
			}
			@Override
			public Adapter caseCIArc(CIArc object) {
				return createCIArcAdapter();
			}
			@Override
			public Adapter caseCIT(CIT object) {
				return createCITAdapter();
			}
			@Override
			public Adapter caseCITLine(CITLine object) {
				return createCITLineAdapter();
			}
			@Override
			public Adapter caseNamable(Namable object) {
				return createNamableAdapter();
			}
			@Override
			public Adapter casePreferenceNetwork(PreferenceNetwork object) {
				return createPreferenceNetworkAdapter();
			}
			@Override
			public Adapter caseNode(Node object) {
				return createNodeAdapter();
			}
			@Override
			public Adapter caseNodeValue(NodeValue object) {
				return createNodeValueAdapter();
			}
			@Override
			public Adapter caseOutcome(Outcome object) {
				return createOutcomeAdapter();
			}
			@Override
			public Adapter caseArc(Arc object) {
				return createArcAdapter();
			}
			@Override
			public Adapter defaultCase(EObject object) {
				return createEObjectAdapter();
			}
		};

	/**
	 * Creates an adapter for the <code>target</code>.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param target the object to adapt.
	 * @return the adapter for the <code>target</code>.
	 * @generated
	 */
	@Override
	public Adapter createAdapter(Notifier target) {
		return modelSwitch.doSwitch((EObject)target);
	}


	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.LCPnet.LCPnet <em>LC Pnet</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.LCPnet.LCPnet
	 * @generated
	 */
	public Adapter createLCPnetAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.LCPnet.LinguisticDomain <em>Linguistic Domain</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.LCPnet.LinguisticDomain
	 * @generated
	 */
	public Adapter createLinguisticDomainAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.LCPnet.LinguisticSubset <em>Linguistic Subset</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.LCPnet.LinguisticSubset
	 * @generated
	 */
	public Adapter createLinguisticSubsetAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.LCPnet.LNode <em>LNode</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.LCPnet.LNode
	 * @generated
	 */
	public Adapter createLNodeAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.LCPnet.CLPT <em>CLPT</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.LCPnet.CLPT
	 * @generated
	 */
	public Adapter createCLPTAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.LCPnet.CLPTLine <em>CLPT Line</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.LCPnet.CLPTLine
	 * @generated
	 */
	public Adapter createCLPTLineAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.LCPnet.CNodeValue <em>CNode Value</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.LCPnet.CNodeValue
	 * @generated
	 */
	public Adapter createCNodeValueAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.LCPnet.LNodeValue <em>LNode Value</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.LCPnet.LNodeValue
	 * @generated
	 */
	public Adapter createLNodeValueAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.LCPnet.LNodeValueUtility <em>LNode Value Utility</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.LCPnet.LNodeValueUtility
	 * @generated
	 */
	public Adapter createLNodeValueUtilityAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.LCPnet.Coordinate <em>Coordinate</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.LCPnet.Coordinate
	 * @generated
	 */
	public Adapter createCoordinateAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.LCPnet.COutcome <em>COutcome</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.LCPnet.COutcome
	 * @generated
	 */
	public Adapter createCOutcomeAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.LCPnet.LTwoTuple <em>LTwo Tuple</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.LCPnet.LTwoTuple
	 * @generated
	 */
	public Adapter createLTwoTupleAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.LCPnet.IArc <em>IArc</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.LCPnet.IArc
	 * @generated
	 */
	public Adapter createIArcAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.LCPnet.CIArc <em>CI Arc</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.LCPnet.CIArc
	 * @generated
	 */
	public Adapter createCIArcAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.LCPnet.CIT <em>CIT</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.LCPnet.CIT
	 * @generated
	 */
	public Adapter createCITAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.LCPnet.CITLine <em>CIT Line</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.LCPnet.CITLine
	 * @generated
	 */
	public Adapter createCITLineAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.Namable <em>Namable</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.Namable
	 * @generated
	 */
	public Adapter createNamableAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.PreferenceNetwork <em>Preference Network</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.PreferenceNetwork
	 * @generated
	 */
	public Adapter createPreferenceNetworkAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.Node <em>Node</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.Node
	 * @generated
	 */
	public Adapter createNodeAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.NodeValue <em>Node Value</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.NodeValue
	 * @generated
	 */
	public Adapter createNodeValueAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.Outcome <em>Outcome</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.Outcome
	 * @generated
	 */
	public Adapter createOutcomeAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link com.thalesgroup.preferenceFramework.models.Arc <em>Arc</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see com.thalesgroup.preferenceFramework.models.Arc
	 * @generated
	 */
	public Adapter createArcAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for the default case.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @generated
	 */
	public Adapter createEObjectAdapter() {
		return null;
	}

} //LCPnetAdapterFactory
